package com.hex.ds.hdtp.core.inf.script.transfer.repository;

import com.hex.ds.hdtp.core.inf.common.page.Page;
import com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertSourceListPo;
import com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertTargetListPo;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.inf.script.transfer.repository
 * @ClassName IScriptConvertTargetListRepository
 * @Description: 脚本转换-转换后文件-数据服务接口
 * @Author: wz.li
 * @Date 2023/8/14 16:37
 * @Version v2.0.2
 **/
public interface IScriptConvertTargetListRepository {

    /*
     * @Method: queryListByPage <br>
     * @Param: [scriptConvertTargetListPo, page] <br>
     * @Return: com.hex.ds.hdtp.core.inf.common.page.Page<com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertTargetListPo> <br>
     * @Description：分页查询<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 16:49 <br>
     * @Version： V2.0.2<br>
     */
    Page<ScriptConvertTargetListPo> queryListByPage(ScriptConvertTargetListPo scriptConvertTargetListPo, Page page);

    /*
     * @Method: queryListByTaskId <br>
     * @Param: [convertTaskId] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertTargetListPo> <br>
     * @Description：根据指定转换任务主键查询对应的转换文件清单<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/14 20:29 <br>
     * @Version： V2.0.2<br>
     */
    List<ScriptConvertTargetListPo> queryListByTaskId(String convertTaskId);

    /*
     * @Method: queryById <br>
     * @Param: [pkId] <br>
     * @Return: com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertTargetListPo <br>
     * @Description：根据主键查询<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/15 10:26 <br>
     * @Version： V2.0.2<br>
     */
    ScriptConvertTargetListPo queryById(String pkId);

    /*
     * @Method: queryBySourceListIdAndConvertFileName <br>
     * @Param: [convertSourceListId, convertFileName] <br>
     * @Return: com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertTargetListPo <br>
     * @Description：根据转换原脚本清单主键和转换后脚本名称查询对应的转换清单记录<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 16:51 <br>
     * @Version： V2.0.2<br>
     */
    ScriptConvertTargetListPo queryBySourceListIdAndConvertFileName(String convertSourceListId, String convertFileName);

    /*
     * @Method: add <br>
     * @Param: [scriptConvertTargetListPo] <br>
     * @Return: int <br>
     * @Description：新增<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/14 16:37 <br>
     * @Version： V2.0.2<br>
     */
    int add(ScriptConvertTargetListPo scriptConvertTargetListPo);

    /*
     * @Method: modifyById <br>
     * @Param: [scriptConvertTargetListPo] <br>
     * @Return: int <br>
     * @Description：根据主键更新<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/15 9:26 <br>
     * @Version： V2.0.2<br>
     */
    int modifyById(ScriptConvertTargetListPo scriptConvertTargetListPo);

    /*
     * @Method: removeByTaskId <br>
     * @Param: [convertTaskPkId] <br>
     * @Return: int <br>
     * @Description：根据转换任务删除<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/16 15:14 <br>
     * @Version： V2.0.2<br>
     */
    int removeByTaskId(String convertTaskPkId);

    /*
     * @Method queryLatestSuccess
     * @Param [scriptConvertListPo]
     * @Return java.util.List<com.hex.ds.hdtp.core.inf.script.transfer.po.ScriptConvertListPo>
     * @Description 查询最新成功的脚本
     * @Author Yin.Yang<br>
     * @Date 2023/8/30 10:22 <br>
     * @Version V1.0<br>
     */
    Page<ScriptConvertTargetListPo> querySuccessListByPage(ScriptConvertTargetListPo scriptConvertTargetListPo, Page toPage);

}
